package com.xianyun.book.api;

import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.Response;
import com.alibaba.cola.dto.SingleResponse;
import com.xianyun.book.dto.AddressAddCmd;
import com.xianyun.book.dto.AddressUpdateCmd;
import com.xianyun.book.dto.clientobject.ReceiveAddressCO;

/**
 * @author ytt
 */
public interface ReceivedAddressServiceI {
    /**
     * 根据用户ID 获取用户所有收货地址
     * @param securityKey 用户私钥
     * @return 用户收货地址集合
     */
    MultiResponse<ReceiveAddressCO> getReceiveAddressList(String securityKey);

    /**
     * 修改收货地址
     * @param updateCmd 修改信息
     * @return 响应结果
     */
    Response updateReceiveAddress(AddressUpdateCmd updateCmd);

    /**
     * 添加收获地址
     * @param addCmd
     * @return 响应结果
     */
    Response addReceiveAddress(AddressAddCmd addCmd);

    /**
     * 根据地址ID 获取收获地址
     * @param receiveId 地址ID
     * @return 响应结果
     */
    SingleResponse<ReceiveAddressCO> getAddressByReceiveId(String receiveId);
}
